package ufmg.aprendizado.classificador;

import java.util.HashMap;

public class Classificador {

	private int id;
	private HashMap<Integer, Instancia> instancias;

	public Classificador() {
		this.instancias = new HashMap<Integer, Instancia>();
	}

	public Classificador(int id) {
		this();
		this.id = id;
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public void addInstancia(Instancia instancia) {
		instancias.put(instancia.getId(), instancia);
	}
	
	public Instancia getInstancia(int id){
		return instancias.get(id);
	}

	public void parseLine(String line) {
		String[] tokens = line.split(" ");

		int id = Integer.parseInt(tokens[0]);

		//String[] aux = tokens[1].split("CLASS=");
		int classeReal = Integer.parseInt(tokens[1].split("CLASS=")[1]);

		Instancia instancia = new Instancia(id, classeReal);
		for (int i = 2; i < tokens.length; ++i) {
			String[] token = tokens[i].split("CLASS=")[1].split(":");
			int classeId = Integer.parseInt(token[0]);
			double score = Double.parseDouble(token[1]);
			
			instancia.addScore(classeId, score);
		}
		instancias.put(id, instancia);
	}
	
	public int getSize(){
		return instancias.size();
	}

}
